--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
meshchatx/src/frontend/js/DialogUtils.js e0f1f99cd1c208c5008a936230c38e448dddd45d (e0f1f99c) Text, 1.92 KB
Tff7b72import Te6edf3GlobalEmitter Tff7b72from Ta5d6ff"./GlobalEmitter"Tb4b4b4;
Tff7b72class Te6edf3DialogUtils Tb4b4b4{
Tff7b72static Te6edf3alertTb4b4b4(Te6edf3messageTb4b4b4, Te6edf3type Tff7b72= Ta5d6ff"info"Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4) Tb4b4b4{
T8b949e// running inside electron, use ipc alert
Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3alertTb4b4b4(Te6edf3messageTb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// always show toast as well (or instead of browser alert)
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"toast"Tb4b4b4, Tb4b4b4{ Te6edf3messageTb4b4b4, Te6edf3type Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72static Te6edf3confirmTb4b4b4(Te6edf3messageTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4) Tb4b4b4{
T8b949e// running inside electron, use ipc confirm
Tff7b72return Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3confirmTb4b4b4(Te6edf3messageTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e// running inside normal browser, use custom confirm dialog
Tff7b72return Tff7b72new Tffa657PromiseTb4b4b4(Tb4b4b4(Te6edf3resolveTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"confirm"Tb4b4b4, Tb4b4b4{ Te6edf3messageTb4b4b4, Te6edf3resolve Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// Always use the in-app confirm dialog, even inside electron, for
T8b949e// callers that want a themed dialog instead of the native OS prompt.
Tff7b72static Te6edf3confirmCustomTb4b4b4(Te6edf3messageTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72new Tffa657PromiseTb4b4b4(Tb4b4b4(Te6edf3resolveTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"confirm"Tb4b4b4, Tb4b4b4{ Te6edf3messageTb4b4b4, Te6edf3resolve Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72static Tff7b72async Te6edf3promptTb4b4b4(Te6edf3messageTb4b4b4, Te6edf3defaultValue Tff7b72= Ta5d6ff""Tb4b4b4, Te6edf3options Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3inputType Tff7b72=
Te6edf3options Tff7b72&& Tff7b72typeof Te6edf3options Tff7b72=== Ta5d6ff"object" Tff7b72&& Te6edf3optionsTb4b4b4.Te6edf3inputType Tff7b72? Tffa657StringTb4b4b4(Te6edf3optionsTb4b4b4.Te6edf3inputTypeTb4b4b4) Tff7b72: Ta5d6ff"text"Tb4b4b4;
Tff7b72if Tb4b4b4(Tffa657windowTb4b4b4.Te6edf3electron Tff7b72&& Tff7b72typeof Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3prompt Tff7b72=== Ta5d6ff"function" Tff7b72&& Te6edf3inputType Tff7b72=== Ta5d6ff"text"Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72return Tff7b72await Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3promptTb4b4b4(Te6edf3messageTb4b4b4, Te6edf3defaultValueTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
T8b949e// Fall through to in-app dialog when IPC prompt fails.
Tb4b4b4}
Tb4b4b4}
Tff7b72return Tff7b72new Tffa657PromiseTb4b4b4(Tb4b4b4(Te6edf3resolveTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"prompt"Tb4b4b4, Tb4b4b4{
Te6edf3messageTb4b4b4,
Te6edf3defaultValueTff7b72: Te6edf3defaultValue Tff7b72== Tff7b72null Tff7b72? Ta5d6ff"" Tff7b72: Tffa657StringTb4b4b4(Te6edf3defaultValueTb4b4b4)Tb4b4b4,
Te6edf3inputTypeTb4b4b4,
Te6edf3resolveTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72export Tff7b72default Te6edf3DialogUtilsTb4b4b4;
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────